In wireless communication, channel fading and interference noise fluctuate rapidly according to the channel conditions. It is well known that the packet errors occur when the attempted transmission rate is higher than the acceptable channel rate. Several techniques have been used to alleviate this problem. Link adaptation adjusts the transmission rate (and the amount of redundancy) to compensate for this fluctuation. However, it is assumed that the channel is stationary during the adaptation and transmission periods. Whenever error occurs, packet retransmission is often used to ensure reliable packet delivery. In one type of system it may be required to retransmit data. One such system is a Hybrid ARQ techniques such as incremental redundancy and Chase combining have been proposed to improve the spectral efficiency of retransmission. For delay-sensitive applications such as voice and video, retransmission also causes additional delay, which might impact the quality. Thus, in a typical wireless communication system, a packet retransmission is used to recover from channel errors at the cost of additional delay and overhead (spectral efficiency). In addition, for delay-sensitive applications the arrival of retransmitted packets may be too late to be used at the codecs.
More particularly, in current H-ARQ schemes, a channel encoder encodes a block of information bits u1 and outputs a block of code bits x1 which is sometimes referred to as a codeword. The first transmission x11 to the receiver contains a part of the codeword. If the receiver cannot decode the codeword without error (The error detection can be done with a cyclic redundancy check (CRC)), a retransmission from the transmitter is necessary. While in ARQ schemes of type I (separate ARQ and FEC), the transmission starts again from the beginning, in H-ARQ schemes the receiver stores the first transmission and the transmitter sends another part of the codeword x12 in the second transmission. Then, both parts of the codeword which were received are used for decoding.
In previous works (see J. Nonnenmacher, E. Biersack, and D. Towsley, “Parity-based loss recovery for reliable multicast transmission”, ACM SIGCOMM Computer Communication Review, vol. 27, pp. 289-300, October 1997 and H. Lundqvist and G. Karlsson, “TCP with End-to-End Forward Error Correction” Technical Report, TRITA-IMIT-LCN R 03:03, ISSN 1651-7717, ISRN KTH/IMIT/LCN/R-03/03-SE, KTH, Royal Institute of Technology, Sweden) with automatic repeat request (ARQ) and forward error correction (FEC) on the packet level, it is assumed that FEC on the bit level delivers an erasure channel for the packet level. On the packet level a second FEC is done with the complete packets.
FIG. 1 shows a conventional H-ARQ system for transmitting two blocks of information bits u1 and u2. The transmitter wants to transmit information bits which are segmented into blocks of K bits to the receiver. A channel encoder processes a first block of information bits u1 and outputs a block of N code bits x1 which we call codeword. The first transmission x11 to the receiver contains a punctured version of the codeword which consists of M code bits. The puncturing is done by a H-ARQ functionality. At the receiver, y11, which is a disturbed version of x11, is received. The H-ARQ functionality at the receiver transforms y11 to y1. The parts in y1 which correspond to bits of x1 which are not transmitted are filled with the log-likelihood value of 0 because there is no information available at the receiver about these bits. If the receiver cannot decode the codeword without error (an integrity check can be done with Cyclic Redundancy Check), a retransmission x12 from the transmitter is necessary. Note that the error detection can be done with a cyclic redundancy check (CRC) which has to be attached to the block u1 before encoding. The receiver stores the first transmission y11 and the transmitter sends another subset x12 with M code bits in the second transmission. Both parts of the codeword which were received are used for decoding like it is described in a paper by J. Hagenauer. Rate-Compatible Punctured Convolutional Codes (RCPC Codes) and their Applications. IEEE Trans. on Communications, 36(4):389-400, April 1988. This H-ARQ scheme is called incremental redundancy because the amount of redundancy increases with the retransmission. The next block of information bits, u2 is treated separately from the first block u1. The process is summarized in the flow diagram of FIG. 1A.